Kubernetes Service
アプリケーションをネットワークサービスとして公開する抽象的な方法
Pod の論理セットと、それらにアクセスするためのポリシーを定義する
Pod は揮発性のリソースであるため、Service を介して Pod (の上で動く) アプリケーションにアクセスするようにする
サービスに割り当てられた IP アドレスに送られたリクエストは、正常に稼働している Pod にリクエストを振り分けられる
Service を公開する方法には種類がある
ClusterIP (既定値) : クラスター内の内部 IP で Service を公開
Service はクラスター内からのみ到達可能
NodePort : NAT を使用して、クラスター内の選択された各ノードの同じポートに Service を公開 ClusterIP のスーパーセット
LoadBalancer : 現在のクラウドに外部ロードバランサを作成し、Service に固定の外部 IP を割り当てる
NodePort のスーパーセット
ExternalName : 仕様の externalName で指定した名前の CNAME レコードを返すことによって、任意の名前を使ってService を公開
プロキシは使用されない
v1.7 以上の kube-dns が必要
Headless
Pod のグループ化を個別に行うためのもので、固定の IP アドレスを持たない方式
Service はラベルとセレクタを使用して Pod を照合する
参考文献